package com.ysstech.etfmanage.entity;
import java.math.BigDecimal;

import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.time.LocalDate;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * <p>
 * ETF结算明细信息
 * </p>
 *
 * @author lishuangliang
 * @since 2021-07-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("etf_settlement_detailed")
public class SettlementDetailed extends Model<SettlementDetailed> {

    private static final long serialVersionUID = 1L;

    @TableField("ID")
    private String id;

    /**
     * 清算日期
     */
    @JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN)
    @TableField("CLEAR_DATE")
    private LocalDate clearDate;

    /**
     * 结算日期
     */
    @JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN)
    @TableField("SETTLEMENT_DATE")
    private LocalDate settlementDate;

    /**
     *  ETF模式 1.股票2.债券。3期货
     */
    @TableField("ETF_MODE")
    private Integer etfMode;

    /**
     * ETF类型 1单市场 2跨市场3集中申购
     */
    @TableField("ETF_TYPE")
    private Integer etfType;

    /**
     * ETF市场
     */
    @TableField("ETF_MARKET")
    private String etfMarket;

    /**
     * 市场
     */
    @TableField("MARKET")
    private String market;

    /**
     * 业务类型
     */
    @TableField("BUSINESS_TYPE")
    private String businessType;

    /**
     * 股东代码
     */
    @TableField("SHAREHOLDER_CODE")
    private String shareholderCode;

    /**
     * 清算标志
     */
    @TableField("CLEAR_CODE")
    private String clearCode;

    /**
     * 过户类型
     */
    @TableField("TRANSFER_TYPE")
    private String transferType;

    /**
     * 交易席位
     */
    @TableField("DEAL_SEAT")
    private String dealSeat;

    /**
     * 证券代码1
     */
    @TableField("SECURITY_CODE_ONE")
    private String securityCodeOne;

    /**
     * 证券代码2
     */
    @TableField("SECURITY_CODE_TWO")
    private String securityCodeTwo;

    /**
     * 过户数量
     */
    @TableField("TRANSFER_AMOUNT")
    private BigDecimal transferAmount;

    /**
     * 成交编号
     */
    @TableField("TRANSACTION_NUMBER")
    private String transactionNumber;

    /**
     * 交易价格
     */
    @TableField("DEAL_PRICE")
    private BigDecimal dealPrice;

    /**
     * 清算金额
     */
    @TableField("DEAL_MONEY")
    private BigDecimal dealMoney;

    /**
     * 结算价格
     */
    @TableField("SETTLEMENT_PRICE")
    private BigDecimal settlementPrice;

    /**
     * 交收金额
     */
    @TableField("SETTLEMENT_MONEY")
    private BigDecimal settlementMoney;

    /**
     * 附加说明
     */
    @TableField("DESCRIPTION")
    private String description;

    /**
     * 结算会员号
     */
    @TableField("SETTLEMENT_CODE")
    private String settlementCode;

    /**
     * 状态
     */
    @TableField("STATUS")
    private Integer status;

    /**
     * 添加时间
     */
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    @TableField("ADD_TIME")
    private LocalDateTime addTime;

    /**
     * 添加人
     */
    @TableField("ADD_USER")
    private String addUser;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
    @TableField("EDIT_TIME")
    private LocalDateTime editTime;

    /**
     * 修改人
     */
    @TableField("EDIT_USER")
    private String editUser;

    /**
     *  删除原因
     */
    @TableField("DELETE_REASON")
    private String deleteReason;

    @Override
    protected Serializable pkVal() {
        return null;
    }
    //查询条件日期
    @TableField(exist = false)
    private String selfdate;
}
